using Order.Domain.Enum;
using System;

namespace Order.Api.Read.Dto.Order
{
    /// <summary>
    /// 问诊订单详情DTO
    /// </summary>
    public class InterrogationOrderDetailDto
    {
        /// <summary>
        /// 订单ID
        /// </summary>
        public int Id { get; set; }

        /// <summary>
        /// 订单编号
        /// </summary>
        public string? OrderNo { get; set; }

        /// <summary>
        /// 订单类型
        /// </summary>
        public OrderSourceEnum? OrderType { get; set; }

        /// <summary>
        /// 订单类型名称
        /// </summary>
        public string? OrderTypeName { get; set; }

        /// <summary>
        /// 订单状态
        /// </summary>
        public InterrogationTypeEnum? Status { get; set; }

        /// <summary>
        /// 订单状态名称
        /// </summary>
        public string? StatusName { get; set; }

        /// <summary>
        /// 应付金额
        /// </summary>
        public decimal? AmountPayable { get; set; }


        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime { get; set; }

        /// <summary>
        /// 支付方式
        /// </summary>
        public PaymentTypeEnum? PaymentMethod { get; set; }

        /// <summary>
        /// 支付方式名称
        /// </summary>
        public string? PaymentMethodName { get; set; }

        /// <summary>
        /// 支付时间
        /// </summary>
        public DateTime? PaymentTime { get; set; }

        /// <summary>
        /// 预约时间
        /// </summary>
        public DateTime? AppointmentTime { get; set; }

        /// <summary>
        /// 提交时间
        /// </summary>
        public DateTime? SubmissionTime { get; set; }

        /// <summary>
        /// 患者ID
        /// </summary>
        public int? PatientId { get; set; }

        /// <summary>
        /// 患者姓名
        /// </summary>
        public string? PatientName { get; set; }

        /// <summary>
        /// 性别
        /// </summary>
        public string? Sex { get; set; }

        /// <summary>
        /// 性别名称
        /// </summary>
        public string? GenderName { get; set; }

        /// <summary>
        /// 年龄
        /// </summary>
        public int? Age { get; set; }

        /// <summary>
        /// 手机号
        /// </summary>
        public string? Phone { get; set; }

        /// <summary>
        /// 地址
        /// </summary>
        public string? Address { get; set; }

        /// <summary>
        /// 病情描述
        /// </summary>
        public string? ConditionDescription { get; set; }

        /// <summary>
        /// 就诊情况
        /// </summary>
        public string? ConsultationStatus { get; set; }

        /// <summary>
        /// 问诊ID
        /// </summary>
        public int? InterrogationId { get; set; }

        /// <summary>
        /// 接诊时间
        /// </summary>
        public DateTime? ConsultationTime { get; set; }

        /// <summary>
        /// 通话时长（分钟）
        /// </summary>
        public int? CallDuration { get; set; }

        /// <summary>
        /// 患者评分
        /// </summary>
        public decimal? PatientRating { get; set; }

        /// <summary>
        /// 患者评价
        /// </summary>
        public string? PatientReview { get; set; }

        /// <summary>
        /// 退诊原因
        /// </summary>
        public int? WithdrawnCause { get; set; }
    }
} 